The present invention relates to a cross-correlation coefficient measurement apparatus and a cross-correlation coefficient measurement method for measuring a cross-correlation coefficient between a plurality of signals each being a repetitive signal like, for example, a clock signal.
For example, if a cross-correlation coefficient xcfx81 between a plurality of clock signals in a semiconductor integrated circuit can be measured, how much room of improvement is left to a performance limit (xcfx81=1) of the semiconductor integrated circuit, or how much the semiconductor integrated circuit is degraded from the performance limit can quantitatively be determined. Moreover, a signal-to-noise ratio between the plurality of clock signals can be estimated from the cross-correlation coefficient xcfx81. Measuring only a clock skew cannot provide these solutions.
Conventionally, an estimation of a cross-correlation coefficient between two clock signals has indirectly been performed by measuring a clock skew between these clock signals, and by judging magnitude of an RMS value (root-mean-square value) of the clock skew.
A clock skew has statistically been estimated using a time interval analyzer or a frequency counter. That is, as shown in FIG. 1, for example, when a reference clock signal CLKg from a clock signal source 11 is distributed and delivered to each of the registers 12j and 12k, each of the clocks under measurement CLKj and CLKk in the respective registers 12j and 12k is inputted to a time interval analyzer 13, where a timing difference between zero-crossing points of the clock signal under measurement CLKj and zero-crossing points of the clock signal under measurement CLKk is measured, and a fluctuation of the timing difference is measured by a histogram analysis as a clock skew. An example of clock skew measurement using a time interval analyzer 13 is described in, for example, xe2x80x9cJitter Analysis Clock Solutionsxe2x80x9d, Wavecrest Corp., 1998.
However, an apparatus for or a method of directly measuring a cross-correlation coefficient between clock signals has not been known yet.
It is an object of the present invention to provide an apparatus and its method that can measure a cross-correlation coefficient between clock signals under measurement.
It is another object of the present invention to provide an apparatus and its method that can estimate not only a cross-correlation coefficient xcfx81 between clock signals having the same frequency, but also a cross-correlation coefficient xcfx81 between clock signals each having a different frequency from one another.
According to a first aspect of the present invention, an apparatus of the present invention comprises: timing jitter estimators for estimating respective timing jitter sequences of a plurality of signals under measurement; and a cross-correlation coefficient estimator to which the plurality of timing jitter sequences are inputted for calculating a cross-correlation coefficient between the signals under measurement.
According to a second aspect of the present invention, the apparatus of the present invention comprises: timing jitter estimators for estimating respective timing jitter sequences of the plurality of signals under measurement; a skew estimator to which the plurality of timing jitter sequences are inputted for calculating a timing difference sequence between those timing jitter sequences to output a skew sequence between signals; and a cross-correlation coefficient estimation means to which the plurality of timing jitter sequences and the skew sequence between signals are inputted for calculating a cross-correlation coefficient between the signals under measurement.
The principle of the present invention will be explained. In this explanation, a clock signal in a microprocessor is used as a clock signal under measurement.
First, a clock skew will be defined. As shown in FIG. 2, a clock skew is given by the difference between delay times xcfx84cdj and xcfx84cdk of the clock signals. CLKj and CLKk to arrive at the respective registers 12j and 12k when the clock signals CLKj and CLKk are derived from a reference clock signal CLKg of a clock signal source 11 as a reference time point of, for example, a clock distribution network. That is, the timing difference is given by an equation (1).
TSkewj,k(nT)=xcfx84cdk(nT)xe2x88x92xcfx84cdj(nT)xe2x80x83xe2x80x83(1)
FIG. 3 shows by dotted lines an ideal reference clock signal CLKg having a fundamental period T, and ideal clock signals CLKj and CLKk. Also shown in FIG. 3 are a difference xcfx84cdj (nT) between an actual rising edge of the reference clock CLKg and an actual rising edge of the clock signal CLKj, a difference xcfx84cdk (nT) between the rising edge of the reference clock CLKg and a rising edge of the clock signal CLKk (n=0, 1, 2, . . . ), and the difference between the xcfx84cdj (nT) and xcfx84cdk (nT), i.e., a clock skew Tskewj,k (nT).
As shown in FIG. 4, it is assumed that rising edges of the clock signals CLKg, CLKj and CLKk occur at time tcdg (nT), tcdj (nT) and tcdk (nT) respectively, and ideal clock edges (clock edge time points when those clock signals do not have their respective jitters) of the clock signals CLKg, CLKj, and CLKk rise at time (nT)g, (nT)j and (nT)k respectively. Then delay time xcfx84cdj (nT) or xcfx84cdk (nT) between the clock depature of the clock signal CLKj or CLKk and the arrival at the respective registers 12j or 12k is expressed by the following equation.                                                                                           τ                                      c                    ⁢                                          xe2x80x83                                        ⁢                    d                                    j                                ⁡                                  (                                      n                    ⁢                                          xe2x80x83                                        ⁢                    T                                    )                                            =                              xe2x80x83                            ⁢                                                                    t                                          c                      ⁢                                              xe2x80x83                                            ⁢                      d                                        j                                    ⁡                                      (                    nT                    )                                                  -                                                      t                                          c                      ⁢                                              xe2x80x83                                            ⁢                      d                                        g                                    ⁡                                      (                    nT                    )                                                                                                                          =                              xe2x80x83                            ⁢                                                [                                                                                    t                                                  c                          ⁢                                                      xe2x80x83                                                    ⁢                          d                                                j                                            ⁡                                              (                        nT                        )                                                              -                                                                  (                        nT                        )                                            j                                                        ]                                -                                  [                                                                                    t                                                  c                          ⁢                                                      xe2x80x83                                                    ⁢                          d                                                g                                            ⁡                                              (                        nT                        )                                                              -                                                                  (                        nT                        )                                            g                                                        ]                                +                                  {                                                                                    (                        nT                        )                                            j                                        -                                                                  (                        nT                        )                                            g                                                        }                                                                                                        =                              xe2x80x83                            ⁢                                                τ                  Skew                                      g                    ,                    j                                                  +                                                      [                                                                  Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                                              φ                            j                                                    ⁡                                                      [                            n                            ]                                                                          ⁢                                                  (                                                                                    T                              j                                                                                      2                              ⁢                              π                                                                                )                                                                    -                                                                                                    Δφ                            g                                                    ⁡                                                      [                            n                            ]                                                                          ⁢                                                  (                                                                                    T                              k                                                                                      2                              ⁢                              π                                                                                )                                                                                      ]                                    ⁢                                      xe2x80x83                                    [                  sec                  ]                                                                                        (        2        )                                                                                                      τ                                      c                    ⁢                                          xe2x80x83                                        ⁢                    d                                    k                                ⁡                                  (                                      n                    ⁢                                          xe2x80x83                                        ⁢                    T                                    )                                            =                              xe2x80x83                            ⁢                                                                    t                                          c                      ⁢                                              xe2x80x83                                            ⁢                      d                                        k                                    ⁡                                      (                    nT                    )                                                  -                                                      t                                          c                      ⁢                                              xe2x80x83                                            ⁢                      d                                        g                                    ⁡                                      (                    nT                    )                                                                                                                          =                              xe2x80x83                            ⁢                                                [                                                                                    t                                                  c                          ⁢                                                      xe2x80x83                                                    ⁢                          d                                                k                                            ⁡                                              (                        nT                        )                                                              -                                                                  (                        nT                        )                                            k                                                        ]                                -                                  [                                                                                    t                                                  c                          ⁢                                                      xe2x80x83                                                    ⁢                          d                                                g                                            ⁡                                              (                        nT                        )                                                              -                                                                  (                        nT                        )                                            g                                                        ]                                +                                  {                                                                                    (                        nT                        )                                            k                                        -                                                                  (                        nT                        )                                            g                                                        }                                                                                                        =                              xe2x80x83                            ⁢                                                τ                  Skew                                      g                    ,                    k                                                  +                                                      [                                                                  Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                                              φ                            k                                                    ⁡                                                      [                            n                            ]                                                                          ⁢                                                  (                                                                                    T                              k                                                                                      2                              ⁢                              π                                                                                )                                                                    -                                                                                                    Δφ                            g                                                    ⁡                                                      [                            n                            ]                                                                          ⁢                                                  (                                                                                    T                              g                                                                                      2                              ⁢                              π                                                                                )                                                                                      ]                                    ⁢                                      xe2x80x83                                    [                  sec                  ]                                                                                        (        3        )            
In this case,
xcfx84Skewg,j=(nT)jxe2x88x92(nT)g[sec]xe2x80x83xe2x80x83(4)
and
xe2x80x83xcfx84Skewg,k=(nT)kxe2x88x92(nT)g[sec]xe2x80x83xe2x80x83(5)
are the time difference between an ideal clock edge of the clock signal CLKj and an ideal clock edge of the reference clock signal CLKg, and the time difference between an ideal clock edge of the clock signal CLKk and an ideal clock edge of the reference clock signal CLKg, respectively, and those time differences correspond to deterministic components of clock skew (deterministic clock skew values) that are determined by the respective clock signal paths. In addition, xcex94xcfx86g[n](Tg/2xcfx80)(=tcdg(nT)xe2x88x92(nT)g), xcex94xcfx86j[n](Tj/2xcfx80)(=tcdj(nT)xe2x88x92(nT)j) and xcex94xcfx86k[n](Tk/2xcfx80)(=tcdk(nT)xe2x88x92(nT)k) express timing jitter sequences (each unit is second) of the clock signals CLKg, CLKj and CLKk, respectively. When the equations (2) and (3) are substituted in the equation (1), a clock skew TSkewj,k between the clock signal CLKj and the clock signal CLKk is expressed by the following equation.                                                                                           T                  Skew                                      j                    ,                    k                                                  ⁡                                  [                  n                  ]                                            =                              xe2x80x83                            ⁢                                                {                                                            τ                      Skew                                              g                        ,                        k                                                              +                                          [                                                                        Δ                          ⁢                                                      xe2x80x83                                                    ⁢                                                                                    φ                              k                                                        ⁡                                                          [                              n                              ]                                                                                ⁢                                                      (                                                                                          T                                k                                                                                            2                                ⁢                                π                                                                                      )                                                                          -                                                                                                            Δφ                              g                                                        ⁡                                                          [                              n                              ]                                                                                ⁢                                                      (                                                                                          T                                g                                                                                            2                                ⁢                                π                                                                                      )                                                                                              ]                                                        ⁢                                      xe2x80x83                                    }                                -                                                                                                        xe2x80x83                            ⁢                                                {                                                            τ                      Skew                                              g                        ,                        j                                                              +                                          [                                                                        Δ                          ⁢                                                      xe2x80x83                                                    ⁢                                                                                    φ                              j                                                        ⁡                                                          [                              n                              ]                                                                                ⁢                                                      (                                                                                          T                                j                                                                                            2                                ⁢                                π                                                                                      )                                                                          -                                                                                                            Δφ                              g                                                        ⁡                                                          [                              n                              ]                                                                                ⁢                                                      (                                                                                          T                                g                                                                                            2                                ⁢                                π                                                                                      )                                                                                              ]                                                        ⁢                                      xe2x80x83                                    }                                ⁢                                  xe2x80x83                                [                sec                ]                                                                                        =                              xe2x80x83                            ⁢                                                τ                  Skew                                      j                    ,                    k                                                  +                                  [                                                            Δ                      ⁢                                              xe2x80x83                                            ⁢                                                                        φ                          k                                                ⁡                                                  [                          n                          ]                                                                    ⁢                                              (                                                                              T                            k                                                                                2                            ⁢                            π                                                                          )                                                              -                                                                                            Δφ                          j                                                ⁡                                                  [                          n                          ]                                                                    ⁢                                              (                                                                              T                            j                                                                                2                            ⁢                            π                                                                          )                                                                              ]                                                                                        (        6        )            
The second term       [                  Δ        ⁢                  xe2x80x83                ⁢                              φ            k                    ⁡                      [            n            ]                          ⁢                  (                                    T              k                                      2              ⁢              π                                )                    -                                    Δφ            j                    ⁡                      [            n            ]                          ⁢                  (                                    T              j                                      2              ⁢              π                                )                      ]    ⁢      xe2x80x83    =            T      SR              j        ,        k              ⁡          [      n      ]      
of the equation (6) corresponds to a random dispersion (random components) of clock skew caused by timing jitter of each clock signal. In this case, it is assumed that the fundamental period of the distributed clock signal CLKj is generally equal to the fundamental period of the distributed clock signal CLKk (Tj=Tk). In addition,
xcfx84Skewj,k=(nT)kxe2x88x92(nT)j[sec]xe2x80x83xe2x80x83(7)
is a difference between a rising edge time point of an ideal clock of the clock signal CLKj and a rising edge time point of an ideal clock of the clock signal CLKk, and this xcfx84Skewj,k is a deterministic component of clock skew determined by the paths of clock distribution network.
A measurement of a cross-correlation coefficient between signals under measurement according to the present invention corresponds to a random dispersion of clock skew. Therefore, a deterministic component of clock skew will not be discussed hereinafter.
In the method of measuring a cross-correlation coefficient between signals according to the present invention, respective timing jitters xcex94xcfx86j[n] and xcex94xcfx86k[n] of, for example, two clock signals under measurement xj(t) and xk(t) shown in FIG. 5 are obtained. The estimated timing jitter sequences xcex94xcfx86j[n] and xcex94xcfx86k[n] are as shown in FIGS. 6A and 6B, respectively. By calculating differences between the timing jitters xcex94xcfx86j[n] and xcex94xcfx86k[n], timing differences between clock edges are calculated to obtain random components TSRj,k[n] of clock skew between the clock signals under measurement xj(t) and xk(t). FIG. 7 shows the resultant clock skew sequence TSRj,k [n]. A root-mean-square (RMS) value "sgr"Skew of clock skew is obtained from the clock skew sequence                               σ          Skew                =                                                            1                N                            ⁢                                                                    ∑                    N                                                        n                    =                    1                                                  ⁢                                                      (                                                                  T                        SR                                                  j                          ,                          k                                                                    ⁡                                              [                        n                        ]                                                              )                                    2                                                              ⁢                      xe2x80x83                    [          sec          ]                                    (        8        )            
Here, N is the number of samples of the measured clock skew data. FIG. 8 shows a probability density function of measured clock skew TSRj,k [n].
Now, in a clock distribution network shown in FIG. 9, a system clock signal CLKG from an external system clock source 14 is inputted to a clock signal source 11 comprised of a PLL (Phase Locked Loop) circuit, where its frequency is multiplied by M. A clock signal CLKg whose frequency is M multiple of that of the CLKG is distributed as the clock signals CLKj and CLKk to a network, for example, the registers 12j and 12k. FIG. 10a shows the system clock signal CLKG, FIG. 10b shows an ideal clock signal that is created by multiplying the frequency of the CLKG by M (in the case of FIG. 10, M=2), and FIG. 10c shows the distributed clock signal CLKj that is created by multiplying the frequency of the CLKG. In FIG. 10a, xcex94"THgr"[1] [rad] of the system clock signal CLKG represents a timing fluctuation of its edge from an ideal clock edge (dashed lines). Therefore, the clock shown in FIG. 10b, that is created by multiplying the frequency of the system clock signal CLKG shown in FIG. 10a by M, is a clock of a case in which the system clock signal CLKG is multiplied by 2 in the case of illustrated example. Therefore, the number of clock edges is doubled in the case of FIG. 10b. In this case, it is sufficient for a newly increased rising edge of a clock to copy the jitter xcex94"THgr"[1] of a rising edge of the original system clock. In the case where the frequency is multiplied by M, one to one relationship of xcex94"THgr"[{n/M}] and xcex94xcfx86j[n] can be obtained when the xcex94"THgr"[1] is assigned (Mxe2x88x921) times. In this case, {x} represents the maximum integer that does not exceed x. When a clock skew between the clock signals CLKj and CLKG is obtained using the equation (6), an equation (9) is obtained.                                           T            Skew                          G              ,              j                                ⁡                      [            n            ]                          =                              τ            Skew                          G              ,              j                                +                                    [                                                                                          Δφ                      j                                        ⁡                                          [                      n                      ]                                                        ⁢                                      (                                                                  T                        j                                                                    2                        ⁢                        π                                                              )                                                  -                                                      ΔΘ                    ⁡                                          [                                              {                                                  n                          M                                                }                                            ]                                                        ⁢                                      (                                                                  T                        G                                                                    2                        ⁢                        π                                                              )                                                              ]                        ⁢                          xe2x80x83                        [            sec            ]                                              (        9        )            
Consequently, a cross-correlation coefficient between clock signals can be calculated using an equation (11) or (15) that is to be explained later.
The method of measuring a cross-correlation coefficient between signals according to the present invention can be applied, as described above, not only to an estimation of a cross-correlation coefficient between distributed clock signals of a microprocessor unit, but also to an estimation of a cross-correlation coefficient of rising zero-crossing points or falling zero-crossing points between other repetitive signals like sine wave signals.
A procedure for calculating a cross-correlation coefficient xcfx81 between clock signals from timing jitter sequences xcex94xcfx86j[n] and xcex94xcfx86k[n] will be made clear. In general, a cross-correlation coefficient xcfx81 is given by the following equation.
xcfx81="sgr"tj,tk/("sgr"tj"sgr"tk)xe2x80x83xe2x80x83(10)
This relationship is described in, for example, xe2x80x9cEngineering Applications of Correlation and Spectral Analysisxe2x80x9d by J. S. Bendat and A. G. Piersol, John Wiley and Sons, Inc., 1976. Here, "sgr"tj,tk is a covariance between xcex94xcfx86j[n] and xcex94xcfx86k[n], and is defined by the following equations.                               σ                      tj            ,            tk                          =                              1            N                    ⁢                                                    ∑                N                                            i                =                1                                      ⁢                                          (                                                                            Δφ                      j                                        ⁡                                          [                      i                      ]                                                        -                                      ⟨                                          Δφ                      j                                        ⟩                                                  )                            ⁢                              (                                                                            Δφ                      k                                        ⁡                                          [                      i                      ]                                                        -                                      ⟨                                          Δφ                      k                                        ⟩                                                  )                                                                        (        11        )                                          ⟨                      Δφ            j                    ⟩                =                              1            N                    ⁢                                                    ∑                N                                            i                =                1                                      ⁢                                          Δφ                j                            ⁡                              [                i                ]                                                                        (        12        )            
In addition, "sgr"tj is a standard deviation of xcex94xcfx86j[n], and given by the following equation.                               σ          ij                =                                            1              N                        ⁢                                                            ∑                  N                                                  i                  =                  1                                            ⁢                                                (                                                                                    Δφ                        j                                            ⁡                                              [                        i                        ]                                                              -                                          ⟨                                              Δφ                        j                                            ⟩                                                        )                                2                                                                        (        13        )            
Therefore, if xcex94xcfx86j[n] and xcex94xcfx86k[n] can be estimated, a cross-correlation coefficient xcfx81 between clock signals can be calculated using the equations (10)-(13). Incidentally, since each mean value  less than xcex94xcfx86j greater than ,  less than xcex94xcfx86k greater than  of timing jitter is zero, a mean value estimated using the equation (12) may be treated as zero. That is, each of the  less than xcex94xcfx86j greater than  and  less than xcex94xcfx86k greater than  in the equations (11) and (12) may be assumed to be zero to calculate, as shown in the following equations (11)xe2x80x2 and (13), a covariance "sgr"tj,tk and a standard deviation "sgr"tj. In this case, the "sgr"tj is equivalent to a calculation of a root-mean-square value (RMS value) of xcex94xcfx86j[i].                                           σ                          tj              ,              tk                                =                                    1              N                        ⁢                                          ∑                                  i                  =                  1                                N                            ⁢                              xe2x80x83                            ⁢                                                                    Δφ                    j                                    ⁡                                      [                    i                    ]                                                  ·                                                      Δφ                    k                                    ⁡                                      [                    i                    ]                                                                                      ⁢                  
                                              (          11          )                xe2x80x2                                          σ          tj                =                                                            ∑                                  i                  =                  1                                N                            ⁢                              xe2x80x83                            ⁢                                                                    Δφ                    j                                    ⁡                                      [                    i                    ]                                                  2                                      N                                                        (          13          )                xe2x80x2            
A procedure for calculating a cross-correlation coefficient xcfx81 between clock signals from RMS values of timing jitter sequences xcex94xcfx86j[n] and xcex94xcfx86k[n] and an RMS value of clock skew TSRj,k[n] will be made clear. A variance "sgr"2Skew of clock skew TSRj,k[n] can be obtained by calculating a mean square value of difference between the xcex94xcfx86j[n] and xcex94xcfx86k[n] using the following equation.                               σ          Skew          2                =                  E          ⁡                      (                                          {                                                                                                    Δφ                        ⁢                                                  xe2x80x83                                                                    k                                        ⁡                                          [                      n                      ]                                                        -                                                                                    Δφ                        ⁢                                                  xe2x80x83                                                                    j                                        ⁡                                          [                      n                      ]                                                                      }                            2                        )                                                  =                              σ            tj            2                    +                      σ            tk            2                    -                      2            ⁢                          ρσ              tj                        ⁢                          σ              tk                                          
From this equation, a cross-correlation coefficient xcfx81 between timing edges (for example, rising edges) of respective clock signals xj(t) and xk(t) is given by the following equation.                     ρ        =                                            σ              tj              2                        +                          σ              tk              2                        -                          σ              Skew              2                                            2            ⁢                          σ              tj                        ⁢                          σ              tk                                                          (        14        )            
Therefore, if RMS values "sgr"tj and "sgr"tk of the respective xcex94xcfx86j[n] and xcex94xcfx86k[n] and an RMS value "sgr"Skew of the clock skew TSRj,k can be estimated, a cross-correlation coefficient xcfx81 between the clock signals xj(t) and xk(t) can be calculated using the equation (14).
A variance "sgr"j,kL2 of timing jitter xcex94xcfx86k[n] that is linear contributions of timing jitter xcex94xcfx86j[n] alone can be expressed by the following equation.
"sgr"j,kL2=xcfx812"sgr"tk2xe2x80x83xe2x80x83(15)
A variance "sgr"2tK,NL of timing jitter xcex94xcfx86k[n] that fluctuates due to all other effects including non-linear relationship with a fluctuation of timing jitter xcex94xcfx86j[n] and noise can be expressed by the following equation.
"sgr"j,kNL2=(1xe2x88x92xcfx812)"sgr"tk2xe2x80x83xe2x80x83(16)
From the equations (15) and (16), a ratio of the fluctuation of the timing jitter xcex94xcfx86k[n] by a linear fluctuation (signal components) of the xcex94xcfx86j[n] to the fluctuation (noise) of the xcex94xcfx86k[n] not related to the fluctuation of the xcex94xcfx86j[n], i.e., a signal-to-noise ratio between timing edges of the respective clock signals xj(t) and xk(t) can be obtained using a cross-correlation coefficient xcfx81, as shown by an equation (17), from the equations (15) and (16).                               S          ⁢                      xe2x80x83                    ⁢          N          ⁢                      xe2x80x83                    ⁢          R                =                                            σ                              j                ,                                  k                  ⁢                                      xe2x80x83                                    ⁢                  L                                            2                                      σ                              j                ,                                  k                  ⁢                                      xe2x80x83                                    ⁢                  N                  ⁢                                      xe2x80x83                                    ⁢                  L                                            2                                =                                    ρ              2                                      1              -                              ρ                2                                                                        (        17        )            
An effect of the cross-correlation coefficient estimation will be shown below using specific examples. In a xe2x80x9cquietxe2x80x9d mode in which only an on-chip PLL of an MPU operates, a clock skew sequence TSRj,k[n] between clock signals xj(t) and xk(t) and its probability density function are as shown in FIGS. 7 and 8, respectively. In this case, since noise is small, it is presumed that the cross-correlation coefficient takes a value close to 1. On the other hand, in a xe2x80x9cnoisyxe2x80x9d mode in which all on-chip circuits and input/output circuits of the MPU perform their toggle operations, a clock skew sequence TSRj,k[n] between the clock signals xj(t) and xk(t) and its probability density function are as shown in FIGS. 11 and 12, respectively. In a quiet mode, it is presumed that the cross-correlation coefficient xcfx81 takes a value close to 1 since noise is small, and in a noisy mode, it is presumed that the cross-correlation coefficient xcfx81 takes a value less than 1 since noise is large.
FIG. 13 shows cross-correlation coefficients xcfx81 estimated using the method of measuring cross-correlation coefficient between clock signals according to the present invention. A value 0.9973 in quiet mode is cross-correlation coefficient obtained using the equation (10). A value 0.9974 shown in parentheses is obtained using the equation (14). It is understood that an approximately same value can be estimated by either of the methods. In this case, if a signal-to-noise ratio is obtained using the equation (17), the value is 37 dB.
On the other hand, in a xe2x80x9cnoisyxe2x80x9d mode, the cross-correlation coefficient xcfx81 takes a smaller value 0.9821. If a signal-to-noise ratio is obtained using the equation (17), the value is 29 dB. Therefore, it can be quantitatively grasped that the signal-to-noise ratio in xe2x80x9cnoisyxe2x80x9d mode is smaller than that in xe2x80x9cquietxe2x80x9d mode by 8 dB. Further, TSRPP in FIG. 13 represents a peak-to-peak value of random components of the skew between the clocks CLKj and CLKk, and |xcfx84Skewj,k| represents a deterministic component based on the paths in the skew between the clocks CLKj, and CLKk.
An estimation of a cross-correlation coefficient and an estimation of an S/N ratio between clock signals described above can also be applied to an estimation of a cross-correlation coefficient and an estimation of an S/N ratio between zero-crossing timings of repetitive signals like sine waves whose frequencies are substantially in a relationship of integer M-multiple (Mxe2x89xa71). That is, the present invention is also applied to signals other than clock signals.
Next, a timing jitter estimation method used in the method of estimating a cross-correlation coefficient between signals according to the present invention will be described below. The description below can also be applied to signals other than clock signals. However in this case, an explanation will be given using clock signals as a matter of convenience. Further, the following description is described in a thesis proposed by the inventors of the present invention, entitled xe2x80x9cExtraction of Peak-to-Peak and RMS Sinusoidal Jitter Using an Analytic Signal Methodxe2x80x9d by T. J. Yamaguchi, M. Soma, M. Ishida, T. Watanabe, and T. Ohmi, Proceedings of 18th IEEE VLSI Test Symposium, pp. 395-402, 2000 and in the international publication WO00/46606 (published on Aug. 10, 2000) report.
A jitter-free clock signal is a square wave having a fundamental frequency f0. This signal can be decomposed by Fourier analysis to harmonics having frequencies f0, 3f0, 5f0, . . . . Since a jitter corresponds to a fluctuation of a fundamental frequency of a clock signal under measurement, only signal components around the fundamental frequency are handled in the jitter analysis.
A fundamental sinusoidal wave component of a jittery clock signal (clock signal under measurement) can be expressed, assuming that its amplitude is A and its fundamental period is T0, by the following equation.                               x          ⁡                      (            t            )                          =                              A            ⁢                          xe2x80x83                        ⁢                          cos              ⁡                              (                                  φ                  ⁡                                      (                    t                    )                                                  )                                              =                      A            ⁢                          xe2x80x83                        ⁢                          cos              ⁡                              (                                                                                                    2                        ⁢                        π                                                                    T                        0                                                              ⁢                    t                                    +                                      φ                    0                                    -                                      Δφ                    ⁡                                          (                      t                      )                                                                      )                                                                        (        18        )            
Here, xcfx86(t) is an instantaneous phase of the clock signal under measurement, and can be expressed by a sum of a linear instantaneous phase component 2xcfx80t/T0 containing the fundamental period T0, an initial phase angle xcfx860 (can be made zero in the calculation), and an instantaneous phase noise component xcex94xcfx86(t).
When the instantaneous phase noise component xcex94xcfx86(t) is zero, an interval between rising zero-crossing points of the clock signal under measurement is a constant period T0. The xcex94xcfx86(t) that is not zero fluctuates the zero-crossing points of the clock signal under measurement. That is, a xcex94xcfx86(nT0) at a zero-crossing point nT0 represents a time fluctuation of a zero-crossing point, and is called a timing jitter. Therefore, by estimating an instantaneous phase xcfx86(t) of the clock signal under measurement, and by obtaining a difference between an instantaneous phase xcfx86(t) and a linear phase (corresponds to a phase waveform of a jitter-free ideal clock signal) 2xcfx80t/T0+xcfx860, i.e., an instantaneous phase noise xcex94xcfx86(t) at a zero-crossing point, timing jitter of the clock signal under measurement can be obtained.
In the timing jitter estimation method used in the present invention, for example, a clock signal under measurement x(t) is transformed into a complex analytic signal z(t) at first, and an instantaneous phase xcfx86(t) of the clock signal under measurement x(t) is estimated from the analytic signal z(t). A linear line fitting by least squares method is applied to the estimated instantaneous phase waveform data to obtain a linear instantaneous phase xcfx86linear(t) corresponding to an instantaneous phase waveform of a jitter-free ideal signal. Then a difference between the instantaneous phase xcfx86(t) and the linear instantaneous phase xcfx86linear(t) is calculated to obtain an instantaneous phase noise xcex94xcfx86(t) of the clock signal under measurement. The instantaneous phase noise xcex94xcfx86(t) is sampled at a timing (approximated zero-crossing point) closest to each zero-crossing point of a real part x(t) of the analytic signal z(t) to estimate an instantaneous phase noise at a zero-crossing timing nT0, i.e., a timing jitter xcex94xcfx86[n](=xcex94xcfx86(nT0)). In this manner, an instantaneous phase noise is obtained to estimate a timing jitter xcex94xcfx86[n].
In this timing jitter estimation method, a timing jitter can be estimated with high accuracy by removing, using waveform clipping means, amplitude modulation (AM) components of the clock signal under measurement in the state that phase modulation components corresponding to jitter of the clock signal under measurement are retained in the clock signal under measurement. In addition, it is desirable to remove low frequency components of the instantaneous phase noise using low frequency component removing means.
An analytic signal z(t) of a clock signal under measurement x(t) is defined by a complex signal expressed by the following equation (19).
z(t)xe2x89xa1x(t)+j{circumflex over (x)}(t)xe2x80x83xe2x80x83(19)
In this case, j represents an imaginary unit, and an imaginary part {circumflex over (x)}(t) of the complex signal z(t) is a Hilbert transform of a real part x(t).
On the other hand, Hilbert transform of a time waveform x(t) is defined by the following equation (20).                                           x            ^                    ⁡                      (            t            )                          =                              H            ⁡                          [                              x                ⁡                                  (                  t                  )                                            ]                                =                                    1              π                        ⁢                                          ∫                                  -                  ∞                                                  +                  ∞                                            ⁢                                                                    x                    ⁡                                          (                      τ                      )                                                                            t                    -                    τ                                                  ⁢                                  xe2x80x83                                ⁢                                  ⅆ                  τ                                                                                        (        20        )            
In this case, {circumflex over (x)}(t) is a convolution of the function x(t) and (1/xcfx80f). That is, Hilbert transform is equivalent to an output at a time when the x(t) is passed through a all pass filter. However, the output {circumflex over (x)}(t) in this case has not been changed in terms of its spectrum components, but its phase has been shifted by xcfx80/2.
Analytic signal and Hilbert transform are described in, for example, xe2x80x9cProbability, Random Variables, and Stochastic Processesxe2x80x9d by A. Papoulis, 2nd edition, McGraw-Hill Book Company, 1984.
An instantaneous phase waveform xcfx86(t) of a clock signal under measurement x(t) can be obtained from an analytic signal z(t) using the following equation (21).                               φ          ⁢                      xe2x80x83                    ⁢                      (            t            )                          =                              tan                          -              1                                ⁡                      [                                                            x                  ^                                ⁡                                  (                  t                  )                                                            x                ⁡                                  (                  t                  )                                                      ]                                              (        21        )            
Next, an algorithm for estimating an instantaneous phase using Hilbert transform will be described. First, Hilbert transform is applied to a clock signal under measurement x(t).                               x          ⁡                      (            t            )                          =                  A          ⁢                      xe2x80x83                    ⁢                      cos            ⁡                          (                                                                                          2                      ⁢                      π                                                              T                      0                                                        ⁢                  t                                +                                  φ                  0                                -                                  Δ                  ⁢                                      xe2x80x83                                    ⁢                  φ                  ⁢                                      xe2x80x83                                    ⁢                                      (                    t                    )                                                              )                                                          (        22        )            
Then a signal {circumflex over (x)}(t) corresponding to an imaginary part of an analytic signal z(t) is obtained as follows.                                           x            ^                    ⁡                      (            t            )                          =                              H            ⁡                          [                              x                ⁡                                  (                  t                  )                                            ]                                =                      A            ⁢                          xe2x80x83                        ⁢                          sin              ⁡                              (                                                                                                    2                        ⁢                        π                                                                    T                        0                                                              ⁢                    t                                    +                                      φ                    0                                    -                                      Δ                    ⁢                                          xe2x80x83                                        ⁢                    φ                    ⁢                                          xe2x80x83                                        ⁢                                          (                      t                      )                                                                      )                                                                        (        23        )            
Then the clock signal under measurement x(t) is transformed into an analytic signal z(t) as follows.                               z          ⁡                      (            t            )                          =                                            x              ⁡                              (                t                )                                      +                          j              ⁢                              xe2x80x83                            ⁢                                                x                  ^                                ⁡                                  (                  t                  )                                                              =                                    A              ⁢                              xe2x80x83                            ⁢                              cos                ⁡                                  (                                                                                                              2                          ⁢                          π                                                                          T                          0                                                                    ⁢                      t                                        +                                          φ                      0                                        -                                          Δ                      ⁢                                              xe2x80x83                                            ⁢                      φ                      ⁢                                              xe2x80x83                                            ⁢                                              (                        t                        )                                                                              )                                                      +                          jA              ⁢                              xe2x80x83                            ⁢                              sin                ⁡                                  (                                                                                                              2                          ⁢                          π                                                                          T                          0                                                                    ⁢                      t                                        +                                          φ                      0                                        -                                          Δ                      ⁢                                              xe2x80x83                                            ⁢                      φ                      ⁢                                              xe2x80x83                                            ⁢                                              (                        t                        )                                                                              )                                                                                        (        24        )            
Here, a band-pass filtering process has been applied to the obtained analytic signal. This is because a jitter corresponds to a fluctuation of a fundamental frequency of a clock signal under measurement and hence only signal components around the fundamental frequency of the clock signal under measurement are processed in a jitter analysis. Next, a phase function xcfx86(t) is estimated from the obtained analytic signal z(t) using the equation (21).                               φ          ⁡                      (            t            )                          =                              [                                                                                2                    ⁢                    π                                                        T                    0                                                  ⁢                t                            +                              φ                0                            -                              Δφ                ⁡                                  (                  t                  )                                                      ]                    ⁢          mod          ⁢                      xe2x80x83                    ⁢          2          ⁢                      xe2x80x83                    ⁢                      π            ⁢                          xe2x80x83                        [            rad            ]                                              (        25        )            
Here, the xcfx86(t) is expressed using principal values of phase in the range of xe2x88x92xcfx80 to +xcfx80, and has a discontinuity point at the proximity of a point where the phase changes from +xcfx80 to xe2x88x92xcfx80. Finally, by unwrapping (that is, integer multiples of 2xcfx80 are appropriately added to principal values xcfx86(t)) the discontinuous phase function xcfx86(t), a continuous instantaneous phase xcfx86(t) from which discontinuity has been removed can be obtained.                               φ          ⁡                      (            t            )                          =                                                            2                ⁢                                  xe2x80x83                                ⁢                π                                            T                0                                      ⁢            t                    +                      φ            0                    -                      Δ            ⁢                          xe2x80x83                        ⁢                                          φ                ⁡                                  (                  t                  )                                            ⁢                              xe2x80x83                            [              rad              ]                                                          (        26        )            
A phase unwrapping method is described in xe2x80x9cThe Cepstrum: A Guide to Processingxe2x80x9d by Donald G. Childers, David P. Skinner, and Robert C. Kemerait, Proceedings of IEEE, vol. 65, pp. 1482-1442, 1977.
A transformation from a clock signal under measurement to an analytic signal can be realized by a digital signal processing using a transformation of a signal in time domain into a signal in frequency domain like Fast Fourier Transformation (FFT).
First, FFT is applied to a digitized clock signal under measurement x(t) shown in FIG. 14 to obtain a both-sided spectrum (having positive and negative frequencies) X(f) of the clock signal under measurement. FIG. 15A shows the obtained both-sided spectrum X(f). Next, as shown in FIG. 15B, only data around the fundamental frequency in the positive frequency components of the spectrum X(f) are retained, and the remaining data are replaced by zeros. In addition, the positive frequency components are doubled. These processes in frequency domain correspond to limiting bandwidth of the clock signal under measurement and transforming the clock signal under measurement into an analytic signal Z(f) in time domain. Finally, by applying inverse FFT to the band-limited signal Z(f), a band-limited analytic signal z(t) can be obtained.
Transformation to an analytic signal using FFT is described in, for example, xe2x80x9cRandom Data: Analysis and Measurement Procedurexe2x80x9d by J. S. Bendat and A. G. Piersol, 2nd edition, John Wiley and Sons, Inc., 1986.
In addition, when an estimation of instantaneous phase is the object of the process, the process of doubling the positive frequency components can be omitted.
Next, an approximated zero-crossing point detection method will be described. First of all, the maximum value of a real part x(t) of an analytic signal of the inputted clock signal under measurement is defined as 100% level, and the minimum value is defined as 0% level to calculate 50% level signal value V50% as a zero crossing level. A difference between a sample value and the 50% level V50% and a difference between its adjacent sample value and the 50% level V50% of the x(t), i.e., (x(jxe2x88x921)xe2x88x92V50%) and (x(j)xe2x88x92V50%) are calculated, and furthermore a product of those difference values (x(jxe2x88x921)xe2x88x92V50%)xc3x97(x(j)xe2x88x92V50%) is calculated. When the x(t) crosses 50% level, i.e., zero-crossing level, the sign of its sample value (x(jxe2x88x921)xe2x88x92V50%) or (x(j)xe2x88x92V50%) changes from a negative sign to a positive sign or from a positive sign to a negative sign. Therefore, when the product is negative, it is detected that the x(t) has passed the zero-crossing level, and a time point Jxe2x88x921 or j, at which a smaller absolute value of the sample value (x(jxe2x88x921)xe2x88x92V50%) or (x(j)xe2x88x92V50%) is detected, is obtained as an approximated zero crossing point.
Waveform clipping means removes AM components from an input signal and retains only PM components in the input signal. A waveform clipping is performed by: 1) multiplying an analog or digital input signal by a constant, 2) replacing a signal value greater than a predetermined threshold value Th1 with the threshold value Th1, and 3) replacing a signal value less than a predetermined threshold value Th2 with the threshold value Th2. Here, it is assumed that the threshold value Th1 is greater than the threshold value Th2.